package com.deer.wms.system.manage.dao;

import com.deer.wms.project.root.mapper.SuperMapper;
import com.deer.wms.system.manage.model.dept.Dept;
import com.deer.wms.system.manage.model.dept.DeptCriteria;
import com.deer.wms.system.manage.model.dept.DeptDto;
import org.apache.ibatis.annotations.Update;
import org.springframework.data.repository.query.Param;

import java.util.List;

/**
 * @author guo
 */
public interface DeptMapper extends SuperMapper<Dept> {
    /**
     * 按照criteria条件查询数据
     * @param criteria criteria
     * @return List<DeptDto>
     */
    List<DeptDto> findList(DeptCriteria criteria);

    /**
     * 依据部门code查询
     * @param deptCode 部门编码
     * @return List<DeptDto>
     */
    List<DeptDto> findByDeptCode(@Param("deptCode")String deptCode);

    /**
     * 依据部门name查询
     * @param deptName 部门名称
     * @return List<DeptDto>
     */
    List<DeptDto> findByDeptName(@Param("deptName")String deptName);

    /**
     * 依据父ID查询
     * @param parentId 父ID
     * @return List<Dept>
     */
    List<Dept> findByParentId(Integer parentId);

    /**
     *
     * @param criteria1
     */
    void deleteByCodeAndCom(DeptCriteria criteria1);
    @Update("truncate table dept")
    void deleteDept();

}